#include <iostream>
#include <string>
using namespace std;

int MaxSame(string a,string b,int len_a,int len_b)
{
	int SameTemp[100][100];
	for (int i=0;i<len_a;i++)
	{
		for (int j=0;j<len_b;j++)
		{
			SameTemp[i][j]=0;
		}
	}
	for (int i=1;i<len_a;i++)
	{
		for (int j=1;j<len_b;j++)
		{
			if (a[i]==b[j])
			{
				SameTemp[i][j]=max(SameTemp[i-1][j],SameTemp[i][j])+1;
			}
			else
			{
				SameTemp[i][j]=max(SameTemp[i-1][j],SameTemp[i][j-1]);
			}
		}
	}
	return SameTemp[len_a-1][len_b-1];
}
void main ()
{
	string a="dbcbadb";
	string b="bacdbd";
	cout<<MaxSame(a,b,8,7);
	system ("pause");
}